home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / netinfo_detect.nasl < prev    next >
Text File  |  2005-01-14  |  2KB  |  79 lines

  1. #
  2. # This script is (C) Tenable Network Security
  3. #
  4.  
  5. if(description)
  6. {
  7.  script_id(11897);
  8.  script_version("$Revision: 1.8 $");
  9.  
  10.  name["english"] = "NetInfo daemon";
  11.  
  12.  script_name(english:name["english"]);
  13.  
  14.  desc["english"] = "
  15. A 'NetInfo' daemon is running on this port. NetInfo is in charge of maintaining
  16. databases (or 'maps') regarding the system. Such databases include the list
  17. of users, the password file, and more. This service should not be reachable
  18. directly from the network.
  19.  
  20. Solution : Filter incoming traffic to this port
  21. Risk factor : Medium";
  22.  
  23.  
  24.  script_description(english:desc["english"]);
  25.  
  26.  summary["english"] = "Checks for the presence of NetInfo";
  27.  
  28.  script_summary(english:summary["english"]);
  29.  
  30.  script_category(ACT_GATHER_INFO);
  31.  
  32.  script_copyright(english:"This script is Copyright (C) 2003 Tenable Network Security");
  33.  family["english"] = "General";
  34.  script_family(english:family["english"]);
  35.  script_dependencies("find_service.nes", "find_service2.nasl");
  36.  exit(0);
  37. }
  38.  
  39.  
  40. include("misc_func.inc");
  41.  
  42. function netinfo_recv(socket)
  43. {
  44.  local_var buf, len;
  45.  
  46.  buf = recv(socket:soc, length:4);
  47.  if(strlen(buf) < 4)return NULL;
  48.  
  49.  len = ord(buf[3]) + ord(buf[2])*256;
  50.  
  51.  buf += recv(socket:soc, length:len);
  52.  if(strlen(buf) != len + 4)return NULL;
  53.  return buf;
  54. }
  55.  
  56.  
  57. port = get_kb_item("Services/unknown");
  58. if(!port)port = 1033;
  59. if(known_service(port:port))exit(0);
  60.  
  61. if(!get_port_state(port))exit(0);
  62. soc = open_sock_tcp(port);
  63. if(!soc)exit(0);
  64. send(socket:soc, data:raw_string(
  65.         0x80, 0x00, 0x00, 0x28, 0x6e, 0xfd, 0x67, 0xa9,
  66.         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
  67.         0x0b, 0xed, 0x48, 0xa0, 0x00, 0x00, 0x00, 0x02,
  68.         0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 ,0x00,
  69.         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  70.         0x00, 0x00, 0x00, 0x00));
  71.  
  72. r = netinfo_recv(socket:soc);
  73. close(soc);
  74. if(r && "6efd67a9" >< hexstr(r) && strlen(r) == 40 && ord(r[11]) == 0x01 && ord(r[0]) == 0x80 && ord(r[strlen(r) - 2]) == 0)
  75. {
  76.  register_service(port:port, proto:"netinfo");
  77.  security_warning(port);
  78. }
  79.